import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * @program: data_structures_algorithms
 * @description: 冒泡排序
 * @author: lld
 * @create: 2020/08/24 19:43
 **/
public class BubbleSort {
    public static void main(String[] args) {
        //测试执行效率
//        int[] bigArray=new int[50000];
//        for(int i=0;i<bigArray.length;i++){
//            bigArray[i]=(int)(Math.random()*1000000);
//        }
//        long start = System.currentTimeMillis();
//        sort(bigArray);
//        long end = System.currentTimeMillis();
//        System.out.println("50000个数据排序时间(毫秒):"+(end-start));//5603

        int[] array = {7, 1, 3, 10, 2, 5, 4};
        //1 -1 7 -2 10
        //-1 1 2 7,10
        sort(array);
    }

    public static void sort(int[] array) {
        int temp = 0;
        boolean flag;//判断下一次是否要排序了，简化
        for (int i = 0; i < array.length - 1; i++) {
//            flag = false;

            for (int j = 0; j < array.length - 1 - i; j++) {
                if (array[j] > array[j + 1]) {
//                    flag = true;
                    temp = array[j];
                    array[j] = array[j + 1];
                    array[j + 1] = temp;
                }
            }
//            if (!flag) {
//                break;
//            }
            System.out.println("第" + (i + 1) + "次排序：");
            System.out.println(Arrays.toString(array));
        }
    }
}
